package com.xiyu.service.convert.infra.devops;

import com.xiyu.service.vo.infra.devops.customer.CustomerGetSingleCustomerInfoInput;
import com.xiyu.service.vo.infra.devops.customer.CustomerGetSingleCustomerInfoOutput;
import com.xiyu.service.vo.infra.devops.customer.CustomerGetServerCustomerInfoInput;
import com.xiyu.service.vo.infra.devops.customer.CustomerGetServerCustomerInfoOutput;
import com.xiyu.service.vo.infra.devops.customer.CustomerSingleGetOutput;
import com.xiyu.service.vo.infra.devops.customer.CustomerUpdateInput;
import com.xiyu.service.vo.infra.devops.customer.CustomerCreateInput;
import com.xiyu.service.vo.infra.devops.customer.CustomerPageQueryInput;
import com.xiyu.service.vo.infra.devops.customer.CustomerPageQueryOutput;
import com.xiyu.service.model.devops.customer.DevopsCustomer;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 客户管理 Convert
 */
@Mapper
public interface CustomerConvert {
    CustomerConvert INSTANCE = Mappers.getMapper(CustomerConvert.class);



    List<CustomerPageQueryOutput> pageQueryOutputConvert(List<DevopsCustomer> output);

    DevopsCustomer createInputConvert(CustomerCreateInput input);

    DevopsCustomer updateInputConvert(CustomerUpdateInput input);

    CustomerSingleGetOutput singleGetOutputConvert(DevopsCustomer output);

    List<CustomerGetServerCustomerInfoOutput> getServerCustomerInfoOutputConvert(List<DevopsCustomer> output);

    CustomerGetSingleCustomerInfoOutput getSingleCustomerInfoOutputConvert(DevopsCustomer output);

}
